---
id: 657b6a4a49faec5c600287ba
title: Step 55
challengeType: 20
dashedName: step-55
---

# --description--

As a final step, reduce the indentation level of all the code after the `return` statement.

Well done. You have completed the Tower of Hanoi practice project.

# --hints--

You should reduce the indentation level of all the code after the `return` statement.

```js
({ test: () => assert(__pyodide.runPython(`
    hanoi = __locals.get("move")
    a, b, c = [3, 2, 1], [], []
    hanoi(3, a, b, c)
    a == [] and b == [] and c == [3, 2, 1]
  `))
})
```

# --seed--

## --seed-contents--

```py
--fcc-editable-region--
NUMBER_OF_DISKS = 5
A = list(range(NUMBER_OF_DISKS, 0, -1))
B = []
C = []

def move(n, source, auxiliary, target):
    if n <= 0:
        return
        # move n - 1 disks from source to auxiliary, so they are out of the way
        move(n - 1, source, target, auxiliary)
        
        # move the nth disk from source to target
        target.append(source.pop())
        
        # display our progress
        print(A, B, C, '\n')
        
        # move the n - 1 disks that we left on auxiliary onto target
        move(n - 1,  auxiliary, source, target)
              
# initiate call from source A to target C with auxiliary B
move(NUMBER_OF_DISKS, A, B, C)
--fcc-editable-region--
```

# --solutions--

```py
NUMBER_OF_DISKS = 5
A = list(range(NUMBER_OF_DISKS, 0, -1))
B = []
C = []

def move(n, source, auxiliary, target):
    if n <= 0:
        return
    # move n - 1 disks from source to auxiliary, so they are out of the way
    move(n - 1, source, target, auxiliary)
        
    # move the nth disk from source to target
    target.append(source.pop())
        
    # display our progress
    print(A, B, C, '\n')
        
    # move the n - 1 disks that we left on auxiliary onto target
    move(n - 1,  auxiliary, source, target)
              
# initiate call from source A to target C with auxiliary B
move(NUMBER_OF_DISKS, A, B, C)
```
